package io.aicn.lowcode.generator.model;

import lombok.Data;

@Data
public class VOConfig {
    private String packageName = "io.aicn.lowcode.dto.vo";
    private String className;
    private String superClass;
    private boolean lombok = true;
    private boolean swagger = true;
    private boolean serialVersionUID = false;
    private boolean includeRelations = false;
    private String[] excludeFields;
    private boolean generateTimestampFields = true;
    
    // 手动添加getter方法以解决编译问题
    public String getPackageName() {
        return packageName;
    }
    
    public String getClassName() {
        return className;
    }
    
    public boolean isLombok() {
        return lombok;
    }
    
    public boolean isSwagger() {
        return swagger;
    }
    
    public boolean isSerialVersionUID() {
        return serialVersionUID;
    }
    
    public boolean isIncludeRelations() {
        return includeRelations;
    }
    
    public boolean isGenerateTimestampFields() {
        return generateTimestampFields;
    }

    public String getSuperClass() {
        return superClass;
    }

    public void setSuperClass(String superClass) {
        this.superClass = superClass;
    }

    public String[] getExcludeFields() {
        return excludeFields;
    }

    public void setExcludeFields(String[] excludeFields) {
        this.excludeFields = excludeFields;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public void setLombok(boolean lombok) {
        this.lombok = lombok;
    }

    public void setSwagger(boolean swagger) {
        this.swagger = swagger;
    }

    public void setSerialVersionUID(boolean serialVersionUID) {
        this.serialVersionUID = serialVersionUID;
    }

    public void setIncludeRelations(boolean includeRelations) {
        this.includeRelations = includeRelations;
    }

    public void setGenerateTimestampFields(boolean generateTimestampFields) {
        this.generateTimestampFields = generateTimestampFields;
    }
}